Multiplies a general matrix by the orthogonal matrix Q from a QR factorization such that C=op(Q)C or C=Cop(Q).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | lside |
Set to true to apply Q or QT from the left; else, set to false to apply Q or QT from the right. |
||
logical, | intent(in) | :: | trans |
Set to true to apply QT; else, set to false to apply Q. |
||
real(kind=real64), | intent(inout), | dimension(:,:) | :: | a |
On input, an LDA-by-K matrix containing the elementary reflectors output from the QR factorization. If lside is set to true, LDA = M, and M >= K >= 0; else, if lside is set to false, LDA = N, and N >= K >= 0. Notice, the contents of this matrix are restored on exit. |
|
real(kind=real64), | intent(in), | dimension(:) | :: | tau |
A K-element array containing the scalar factors of each elementary reflector defined inA. |
|
real(kind=real64), | intent(inout), | dimension(:,:) | :: | c |
On input, the M-by-N matrix C. On output, the product of the orthogonal matrix Q and the original matrix C. |
|
real(kind=real64), | intent(out), | optional, | target, dimension(:) | :: | work |
An optional input, that if provided, prevents any local memory allocation. If not provided, the memory required is allocated within. If provided, the length of the array must be at least olwork. |
integer(kind=int32), | intent(out), | optional | :: | olwork |
An optional output used to determine workspace size. If supplied, the routine determines the optimal size for work, and returns without performing any actual calculations. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
The error object to be updated. |
Multiplies a general matrix by the orthogonal matrix Q from a QR factorization such that C=op(Q)C or C=Cop(Q).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | lside |
Set to true to apply Q or QH from the left; else, set to false to apply Q or QH from the right. |
||
logical, | intent(in) | :: | trans |
Set to true to apply QH; else, set to false to apply Q. |
||
complex(kind=real64), | intent(inout), | dimension(:,:) | :: | a |
On input, an LDA-by-K matrix containing the elementary reflectors output from the QR factorization. If lside is set to true, LDA = M, and M >= K >= 0; else, if lside is set to false, LDA = N, and N >= K >= 0. Notice, the contents of this matrix are restored on exit. |
|
complex(kind=real64), | intent(in), | dimension(:) | :: | tau |
A K-element array containing the scalar factors of each elementary reflector defined inA. |
|
complex(kind=real64), | intent(inout), | dimension(:,:) | :: | c |
On input, the M-by-N matrix C. On output, the product of the orthogonal matrix Q and the original matrix C. |
|
complex(kind=real64), | intent(out), | optional, | target, dimension(:) | :: | work |
An optional input, that if provided, prevents any local memory allocation. If not provided, the memory required is allocated within. If provided, the length of the array must be at least olwork. |
integer(kind=int32), | intent(out), | optional | :: | olwork |
An optional output used to determine workspace size. If supplied, the routine determines the optimal size for work, and returns without performing any actual calculations. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
The error object to be updated. |
Multiplies a vector by the orthogonal matrix Q from a QR factorization such that →c=op(Q)→c.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | trans |
Set to true to apply QT; else, set to false to apply Q. |
||
real(kind=real64), | intent(inout), | dimension(:,:) | :: | a |
On input, an M-by-K matrix containing the elementary reflectors output from the QR factorization. Notice, the contents of this matrix are restored on exit. |
|
real(kind=real64), | intent(in), | dimension(:) | :: | tau |
A K-element array containing the scalar factors of each elementary reflector defined inA. |
|
real(kind=real64), | intent(inout), | dimension(:) | :: | c |
On input, the M-element vector →c. On output, the product of the orthogonal matrix Q and the original vector →c. |
|
real(kind=real64), | intent(out), | optional, | target, dimension(:) | :: | work |
An optional input, that if provided, prevents any local memory allocation. If not provided, the memory required is allocated within. If provided, the length of the array must be at least olwork. |
integer(kind=int32), | intent(out), | optional | :: | olwork |
An optional output used to determine workspace size. If supplied, the routine determines the optimal size for work, and returns without performing any actual calculations. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
The error object to be updated. |
Multiplies a vector by the orthogonal matrix Q from a QR factorization such that →c=op(Q)→c.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | trans |
Set to true to apply QH; else, set to false to apply Q. |
||
complex(kind=real64), | intent(inout), | dimension(:,:) | :: | a |
On input, an M-by-K matrix containing the elementary reflectors output from the QR factorization. Notice, the contents of this matrix are restored on exit. |
|
complex(kind=real64), | intent(in), | dimension(:) | :: | tau |
A K-element array containing the scalar factors of each elementary reflector defined inA. |
|
complex(kind=real64), | intent(inout), | dimension(:) | :: | c |
On input, the M-element vector →c. On output, the product of the orthogonal matrix Q and the original vector →c. |
|
complex(kind=real64), | intent(out), | optional, | target, dimension(:) | :: | work |
An optional input, that if provided, prevents any local memory allocation. If not provided, the memory required is allocated within. If provided, the length of the array must be at least olwork. |
integer(kind=int32), | intent(out), | optional | :: | olwork |
An optional output used to determine workspace size. If supplied, the routine determines the optimal size for work, and returns without performing any actual calculations. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
The error object to be updated. |